#ifndef _UFO_DATA_HANDLE_H_
#define _UFO_DATA_HANDLE_H_

#define UFO_ID_VIEW			0x00

//#define UFO_ID_LAYOUT	0x0A

#define UFO_ID_TEXTURE  0x1A

#define UFO_ID_IO		0x2A

#define UFO_ID_TIMER	0x2C

#define UFO_ID_RESOURCE	0x2D

#define UFO_ID_ANIMATION 0x2E

#define UFO_ID_STACK 	0x2F

#define UFO_ID_STRING 	0x3A

#define UFO_ID_LIST 	0x3B

#define UFO_ID_END		0xFF

#define UFO_MAX_HANDLE  0x8000

#define DECLARE_HANDLE(name) struct name##__{int unused;}; typedef struct name##__ *name

DECLARE_HANDLE(UFO_Handle);

UFO_Handle ufoCreateHandle(int id, void* object);

void* ufoObjectFromHandle(UFO_Handle handle);

int ufoCloseHandle(UFO_Handle handle);



#endif